<?php
/**
 * An Interface for most basic file/folder operations. Must be implemented by all classes defining file operations
 * @author Sukhbir Singh Grewal
 *
 */
interface OperationsInterface
{
	/**
	 * Get the contents of the given location	 
	 * @param String $location
	 */
	public function listContents($location);

	/**
	 * Delete the item	 
	 * @param String $location
	 */
	public function deleteItem($location);
	
	/**
	 * Move an item	 
	 * @param String $oldLocation
	 * @param String $newLocation
	 */
	public function moveItem($oldLocation, $newLocation);
	
	/**
	 * Copy an item	 
	 * @param String $location
	 * @param String $newLocation
	 */
	public function copyItem($location, $newLocation);
	
	/**
	 * Create a new item at given location with given data	 
	 * @param String $location
	 * @param mixed $data
	 */
	public function newItem($location, $data);
}